1. Technical Field:
The present invention relates in general to an improved method and system for diagnosing component failure within a data processing system, and in particular to a method and system for implementing a modular diagnostic system for diagnosing component failure among groups of components within multiple hierarchical levels within a data processing system. Still more particularly, the present invention relates to a method and system for implementing a hierarchical diagnostic system for diagnosing component failure within a data processing system utilizing diagnostic modules which diagnose groups of components in multiple hierarchical levels and share learned information between hierarchical levels.
2. Description of the Related Art:
Data processing systems have become increasingly complex, and as a result, the amount of time required to identify a failed component within a data processing system has also increased. Presently, the complexity of some data processing systems, combined with the need to quickly repair the data processing system, already requires the use of automated diagnostic equipment to locate component failures. Frequently such automated diagnostic equipment utilizes artificial intelligence in the form of neural networks and expert systems.
A data processing system is said to have artificial intelligence if it can perform functions normally associated with human intelligence, such as reasoning, learning, and self-improvement. As mentioned above, an "expert system" is one example of an artificially intelligent system. An expert system may be utilized to solve problems in a particular application area, such as diagnosis of component failure, by drawing inferences from a knowledge base acquired by human expertise.
Generally, when faced with a problem, an expert system cannot access an answer to the problem directly. The expert system may utilize a plausible solution generator that generates all possible solutions to a problem. The plausible solutions must then be searched, utilizing a variety of search techniques, and tested, until a solution is found. The set of possible solutions to a problem is called a knowledge base. Such a knowledge base is a data base that contains rules or information (i.e., facts) about human experience in a particular field of knowledge and data resulting from solution of problems that have been previously encountered. Although there are several known techniques to increase the efficiency of searching the knowledge base, expert systems containing more than a few hundred rules become difficult to maintain, and as more rules and facts are added to the knowledge base, the performance of the expert system deteriorates rapidly.
One method of improving the efficiency of an expert system is to utilize multiple expert systems that work together to analyze a problem. By subdividing the problem, each individual expert system may utilize a separate, private and unique knowledge base, which is smaller than would otherwise be required to analyze an entire problem. In addition to the private knowledge bases, the individual expert systems are permitted to communicate through a central "blackboard" data storage area while diagnosing a problem during a "blackboard session." A blackboard data storage area is a common working data storage area for storing data that is accessible to several expert systems, and is utilized to communicate intermediate diagnostic results, or learned information, from one expert system to other expert systems which may be diagnosing the same problem. Therefore, the blackboard contains information, learned by the expert systems participating in the blackboard session, which is currently known about the problem.
Each expert system is then able to utilize the information stored within the blackboard data storage area to supplement the information contained within each expert system's knowledge base. When one expert system learns new information about the problem which may be utilized by another expert system, the expert system sends the information to the blackboard data storage area, so that other expert systems may utilize that learned information to further explore the problem. Thus, the expert systems in the blackboard session analyze a problem in a manner roughly analogous to a group of people, assembled in a meeting room, discussing and analyzing a problem.
As the complexity of the target system (the system under diagnosis) increases, it may be necessary to limit the number of experts utilized during a blackboard session. In order to limit the number of expert systems utilized during a blackboard session, and to employ different types of expert systems to diagnose different parts of a target system, the target system may be divided into hierarchical levels, each of which contains a selected group of components. Therefore, in order to diagnose a problem within a complex target system, multiple blackboard systems, each within a different hierarchical level may be required.
Therefore, it should be apparent that a need exist for a method and system for managing a hierarchical error diagnostic system which utilizes multiple diagnostic modules in multiple blackboard sessions, and wherein information learned by diagnostic modules in one blackboard session may be utilized by diagnostic modules in another blackboard session to diagnose component failure within a target system having multiple hierarchical levels of components.